메사 (컴퓨터 그래픽스)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
메사(Mesa)는 3차원 컴퓨터 그래픽스 렌더링을 위한 오픈 소스 소프트웨어 라이브러리이다. 1995년에 처음 출시되었으며, 초창기에는 CPU에서 3D 그래픽을 렌더링했지만, 이후 그래픽 처리 장치(GPU) 가속 렌더링을 지원하도록 설계되었다. 메사는 다양한 플랫폼에서 컴파일 및 사용이 가능하며, OpenGL, Vulkan, OpenCL 등 여러 그래픽 API를 구현한다. 인텔과 AMD는 자체 GPU 지원을 위해 메사를 공식적으로 지원하며, Gallium3D 인터페이스를 통해 다양한 하드웨어 및 API를 지원한다.
더 읽어볼만한 페이지
- OpenGL - WebGL
WebGL은 웹 브라우저에서 3차원 그래픽을 렌더링하기 위한 API이며, OpenGL ES를 기반으로 개발되어 다양한 웹 브라우저와 모바일 환경에서 지원된다. - OpenGL - OpenGL ES
OpenGL ES는 임베디드 시스템 및 모바일 장치를 위한 3D 그래픽 API로, OpenGL의 부분 집합이며, 다양한 버전으로 발전해 왔고, 안드로이드, iOS 등 여러 플랫폼에서 3D 그래픽 구현에 사용되며 WebGL의 기반이 되기도 한다. - Freedesktop.org - D-Bus
D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다. - Freedesktop.org - HAL (소프트웨어)
HAL(Hardware Abstraction Layer)은 D-Bus IPC 메커니즘을 통해 하드웨어 검색, 열거 및 접근을 중재하는 데몬이었으나, 복잡성 및 유지보수 문제로 인해 리눅스 배포판과 프로젝트에서 사용이 중단되고 기능이 DeviceKit이나 udev 등으로 이전되었다. - 1993년 소프트웨어 - 윈도우 NT
윈도우 NT는 1988년에 개발되어 1993년에 출시된 마이크로소프트의 운영 체제 제품군이며, 하드웨어 및 소프트웨어 이식성을 목표로 다양한 프로세서 아키텍처를 지원하고, 사용자 모드와 커널 모드를 사용하며, 개체별 접근 제어 목록을 통해 시스템 보안을 강화했다. - 1993년 소프트웨어 - NetBSD
NetBSD는 높은 이식성을 가진 BSD 계열 오픈 소스 운영 체제로, 다양한 아키텍처를 지원하며 pkgsrc 패키지 관리 시스템을 통해 응용 프로그램 설치가 용이하고 안정성과 보안을 중시하여 여러 환경에서 사용된다.
메사 (컴퓨터 그래픽스) - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
종류 | 그래픽 라이브러리 |
라이선스 | MIT 라이선스 등 |
웹사이트 | Mesa 3D 공식 웹사이트 |
개발 | |
개발자 | 브라이언 폴(Brian Paul) |
현재 개발 주체 | Igalia Collabora Valve Intel AMD VMware |
과거 개발 주체 | Tungsten Graphics |
프로그래밍 언어 | C C++ 어셈블리어 |
출시 | |
첫 번째 출시 | 1993년 8월 24일 |
최신 버전 | 24.1.1 |
최신 버전 출시일 | 2024년 6월 5일 |
기타 | |
지원 운영체제 | 크로스 플랫폼 (BSD, Haiku, Linux, 등) |
2. 역사
Mesa는 그래픽 API의 구현을 담고 있는 것으로 알려져 있다. 역사적으로 Mesa가 구현한 주요 API는 OpenGL이며, Khronos Group 관련 사양(예: OpenVG, OpenGL ES, EGL)도 함께 구현했다. 하지만 Mesa는 다른 API도 구현할 수 있으며 실제로 Glide(더 이상 사용되지 않음)와 2013년 7월부터 Direct3D 9을 구현했다.[4] 또한 Mesa는 유닉스 계열 운영 체제에 국한되지 않는다. 예를 들어 Windows에서 Mesa는 DirectX를 통해 OpenGL API를 제공한다.
Mesa는 OpenGL과 같은 그래픽 API와 운영 체제 커널의 그래픽 하드웨어 드라이버 간의 변환 계층을 구현한다. 지원되는 서로 다른 그래픽 API의 버전은 드라이버에 따라 다르며, 각 하드웨어 드라이버는 자체 구현(따라서 상태)을 가지고 있기 때문이다. 이는 "클래식" 드라이버의 경우 특히 그렇지만, Gallium3D 드라이버는 지원되는 확장 및 버전을 균일하게 만드는 경향이 있는 공통 코드를 공유한다.
Mesa는 현재 OpenGL 적합성 상태를 보여주는 지원 매트릭스를 유지 관리한다.[5][6]
다음은 Mesa의 주요 버전 출시 역사이다.
프로젝트 시작자인 브라이언 폴은 그래픽스 취미생활을 즐겼다. 그는 OpenGL API를 사용하여 간단한 3D 그래픽스 라이브러리를 구현하는 것이 재미있을 것이라고 생각했고, 이를 VOGL(Very Ordinary GL Like Library) 대신 사용할 수 있을 것이라고 생각했다.[182] 1993년에 시작하여 18개월 동안 파트타임으로 개발을 진행했고, 1995년 2월에 소프트웨어를 인터넷에 출시했다.[183] 이 소프트웨어는 좋은 평가를 받았고, 사람들은 개발에 기여하기 시작했다. 메사는 모든 3차원 컴퓨터 그래픽스를 CPU에서 렌더링하는 것으로 시작했다. 그럼에도 불구하고 메사의 내부 아키텍처는 그래픽 처리 장치 가속 3D 렌더링을 연결할 수 있도록 개방적으로 설계되었다. 이 첫 번째 단계에서 렌더링은 디스플레이 서버에서 간접적으로 수행되었으며, 이론적 최대 속도보다 약간의 오버헤드와 눈에 띄는 속도 저하가 발생했다. 몬스터 3D(Monster 3D)는 부두 그래픽스(Voodoo Graphics) 칩셋을 사용했으며 메사가 지원하는 최초의 3D 하드웨어 장치 중 하나였다.
최초의 진정한 그래픽 하드웨어 지원은 1997년에 메사에 추가되었으며, 당시 새로운 3dfx 부두 그래픽스(Voodoo Graphics) I/II 그래픽 카드 및 후속 제품을 위한 Glide API를 기반으로 했다.[184] Glide를 가속 레이어로 사용하는 주요 문제점은 Glide가 전체 화면으로 실행되는 습관이 있었는데, 이는 컴퓨터 게임에만 적합했다는 것이다. 또한, Glide는 화면 메모리를 잠갔고, 따라서 디스플레이 서버는 다른 GUI 작업을 할 수 없었다.[185]
3. 주요 특징
Mesa 버전 최초 출시일 최신 업데이트[65] Vulkan OpenCL OpenGL OpenGL ES OpenVG EGL GLX Direct3D 23.1 2023-05-10 23.1.8[66] 1.3.244: 1.3+ (인텔 Gen8+ ~ XE, AMD GCN Gen2+ ~ RDNA3, Lavapipe, Google Venus), 1.1+ (퀄컴 Turnip), 1.0+ (AMD GCN1, Broadcom v3dv, ARM Mali PanVK) 1.0, 1.1, 1.2 (완전 지원), 3.0 (개발 중, 일부 기능은 21.1에 있음),[38] OpenCL 1.2+ 및 3.0 (새로운 RustiCL 포함) AMD GCN 및 인텔 Xe용 (Mesa 22.3+), AMD R600, Nvidia Fermi+ (Mesa 23.1+) 4.6 (19.3: 인텔 Gen 8+, 20.0: AMD GCN, 21.1: Zink, llvmpipe, 21.2: 인텔 Gen 7.5) 3.2 (20.3: 인텔 i965, AMD radeonsi, llvmpipe, VirGL, freedreno, Zink (21.3); 3.1: AMD r600, Nvidia nvC0, softpipe, Broadcom v3d, ARM Panfrost (21.3), d3d12 (22.0)) 1.5 1.4 9.0c[69][70] 23.0 2023-02-23 23.0.4[71] 1.3.232: 대부분 23.1과 같음 22.3 2022-11-30 22.3.7[72] 22.3: 1.3.225: 1.3+ (인텔 Gen8+, AMD GCN Gen2+, Lavapipe), 1.2+ (Google Venus), 1.1+ (퀄컴 Turnip, Lavapipe (22.2)), 1.0+ (AMD GCN1, Broadcom v3dv, ARM Mali PanVK) 22.2 2022-09-21 22.2.5[73] 22.1 2022-05-20 22.1.7[74] 22.0 2022-03-09 22.0.5[75] 21.3 2021-11-17 21.3.9[76] 21.3: 1.2.190 (인텔 Gen8+, AMD GCN Gen2+, Google Venus (21.3), Lavapipe), 1.0+ (AMD GCN1, Broadcom v3dv), 1.1+ (퀄컴 Turnip, Lavapipe (21.1)) 21.2 2021-08-04 21.2.6[77] 21.1 2021-05-05 21.1.8[78] 21.0 2021-03-11 21.0.3[79] 20.3 2020-12-03 20.3.5[80] 20.3: 1.2.158 (인텔 Gen8+, AMD GCN Gen2+), 1.0+ (AMD GCN1, Broadcom v3dv (20.3)) 20.2 2020-09-28 20.2.6[81] 1.0, 1.1, 1.2 (개발 중) 일부 적합성 테스트 실패 20.1 2020-05-27 20.1.10[32] 20.0 2020-02-19 20.0.8[82] 1.2+ (인텔 Gen8+, AMD GCN Gen2+) 19.3 2019-12-11 19.3.5[83][84] 1.1+ (인텔 Gen8+, AMD GCN Gen2+) (19.1: 1.1.104 19.0: 1.1.102, 18.3: 1.1.90, 18.2: 1.1.84) 19.2 2019-09-25 19.2.8 4.5 19.1 2019-06-11 19.1.8 19.0 2019-03-13 19.0.8 18.3 2018-12-07 18.3.6 18.2 2018-09-07 18.2.8[22] 18.1 2018-05-18 18.1.9[85] 1.1 (인텔 Gen8+, AMD GCN Gen2+)(1.1.73) 18.0 2018-03-27 18.0.5 1.0+ (1.0.66) 17.3 2017-12-08 17.3.9 1.0 (PC: ANV 인텔 Gen7+ 아이비 브릿지, RADV AMD GCN만 해당) (헤더: 17.3: 1.0.63, 17.2: 1.0.54, 17.1: 1.0.42, 17.0: 1.0.38, 13.0: 1.0.6, 12.0: 1.0.3) Gallium에 의해 개발 중
Compute (Clover):
일부 CTS-테스트 실패
1.0 및 1.1,
1.2 (개발 중),
따라서 1.0, 1.1, 1.2
불완전[86][87]17.2 2017-09-04 17.2.8 17.1 2017-05-10 17.1.10 17.0 2017-02-13[88][89] 17.0.7 13.0 2016-11-01[90] 13.0.6 4.4
(4.5 테스트 레이블 없음)12.0 2016-07-08[91] 12.0.6 4.3[91] 3.1 11.2 2016-04-04[92] 11.2.2 4.1 (인텔 3.3+) 11.1 2015-12-15[93] 11.1.4 3.0 11.0 2015-09-12[94] 11.0.9 10.6 2015-06-15[95] 10.6.9 3.3[96] 1.4 10.5 2015-03-06[97] 10.5.9 1.1 10.4 2014-12-14[98] 10.4.7 10.3 2014-09-19[99] 10.3.7 10.2 2014-06-06[100] 10.2.9 10.1 2014-03-04[101] 10.1.6 10.0 2013-11-30[102] 10.0.5 9.0 2012-10-08 9.0.3, 9.1.7, 9.2.5 3.1 2.0 8.0 2012-02-08 8.0.5 3.0 7.0 2007-06-22 7.0.4, ..., 7.11.2 2.1 6.0 2004-01-06 6.0.1 1.5 1.3 5.0 2002-11-13 5.0.2 1.4 4.0 2001-10-22 4.0.4 1.3 3.0 1998-09 3.1, 3.2.1, 3.4.2.1 1.2 2.0 1996-10 2.6 1.1 1.0 1995-02 1.2.8 1.0
Mesa는 다양한 버전의 그래픽 API를 지원하며, 그 지원 정도는 드라이버에 따라 다르다. 위 표는 각 Mesa 버전별 주요 API 지원 현황을 나타낸다.
Mesa는 또한 다음과 같은 특징들을 가지고 있다.
4. 소프트웨어 아키텍처
크로노스 그룹은 2015년 3월 Vulkan API를 공식 발표했으며, 2016년 2월 16일에 Vulkan 1.0을 공식 출시했다. Vulkan은 OpenGL과의 호환성을 깨고, 모놀리식 상태 머신 개념을 완전히 버렸다. Gallium3D 개발자들은 Vulkan을 Gallium3D 2.0과 비슷한 것으로 불렀는데, 이는 Gallium3D가 OpenGL 상태 머신을 구현하는 코드와 하드웨어에 특정한 코드를 분리하기 때문이다.
Mesa 22.0에서는 Vulkan 1.3을 즉시 사용할 수 있다. OpenGL ES 3.1을 지원하는 하드웨어는 Vulkan Level 1.3 이상에서 실행되어야 한다.[103]
Gallium3D가 TGSI를 사용하듯이, Vulkan은 SPIR-V (표준 휴대용 중간 표현)를 사용한다.
인텔은 Vulkan 사양이 공식적으로 출시된 날 자사의 하드웨어에 대한 Vulkan 드라이버 구현을 발표했다. 이 드라이버는 4월에 메인라인에 포함되어 2016년 7월에 출시된 Mesa 12.0의 일부가 되었다. i965 드라이버는 Gallium3D 사양에 따라 작성되지 않았지만, Vulkan 드라이버의 경우 Gallium3D 위에 구현하는 것은 큰 의미가 없었다. 마찬가지로 NIR로 구현할 기술적인 이유는 없지만, 인텔의 직원들은 그렇게 Vulkan 드라이버를 구현했다.[104]
AMD는 자체 독점 Vulkan 드라이버를 3월에 출시했으며, 향후 무료 오픈 소스 소프트웨어로 출시되어 Mesa에 메인라인에 포함될 것이라고 발표했다. AMD는 Gallium3D를 포기할 것으로 예상된다.[105]
RADV는 AMD를 위한 무료 프로젝트이며 Mesa 버전 13부터 사용 가능하다.[106] Khronos-Test와의 호환성은 버전 17.3에서 이루어졌으며, Mesa 18.1부터 Vulkan 1.0 및 1.1을 완벽하게 지원한다.
Nvidia는 Vulkan 지원을 갖춘 자체 GeForce 드라이버를 출시했으며, Imagination Technologies(PowerVR), Qualcomm(Adreno) 및 ARM(Mali)도 안드로이드 및 기타 운영 체제용 독점 Vulkan 드라이버를 발표했다. 그러나 이러한 GPU에 대한 추가적인 무료 오픈 소스 Vulkan 구현이 언제 나타날지는 미지수이다.
Mesa 소프트웨어 드라이버 VIRGL은 가상 머신 지원을 위한 GSOC 프로젝트와 함께 2018년에 Vulkan 개발을 시작했다.[107]
Lavapipe는 CPU 기반 소프트웨어 Vulkan 드라이버이며 LLVMpipe의 형제이다. Mesa 버전 21.1은 Vulkan 1.1+를 지원한다.[108]
구글은 Mesa 21.1에서 가상 머신용 Venus Vulkan 드라이버를 도입하여 Vulkan 1.2+를 완벽하게 지원한다.[49]
Qualcomm Turnip과 Broadcom v3dv는 Qualcomm Adreno 및 Broadcom Raspberry 4 하드웨어를 위한 새로운 드라이버이다. Turnip은 OpenGL용 freedreno의 Vulkan 형제이다. V3dv는 Mesa 20.3부터 Vulkan 1.0+를 지원하며, Mesa 21.1에서 Turnip은 Vulkan 1.1+를 지원한다.[109][110][111]
ARM Mali용 Panfrost PanVK는 Vulkan 1.1을 향해 나아가고 있지만, Mesa 22.0에서는 1.0만 안정적으로 사용 가능하다.[112]
Project Dozen은 Windows 10 및 11의 Linux 에뮬레이션 WSL2를 위해 Direct3D 12(d3d12)를 Vulkan과 연결하고 있다. Mesa 23.2에서 Vulkan 1.0은 완전히 호환되며 1.1 및 1.2의 80%를 지원한다. [113][114]
Mesa의 "사용자 모드 그래픽 장치 드라이버"(UMD)는 일반적으로 장치 드라이버라고 불리는 것과 공통점이 거의 없다. 주요 차이점은 다음과 같다.
- UMD는 리눅스 커널의 일부로 제공되는 커널 모드 그래픽 장치 드라이버 위에서 작동하도록 설계되었다. (소스 코드의 `/drivers/gpu/drm/` 아래에서 찾을 수 있다.) 각 UMD는 ''libdrm_specific'' 라이브러리와 ''libdrm'' 라이브러리를 사용하여 커널 모드와 통신한다.
- OpenGL에서 지정한 유한 상태 머신의 일부를 구현한다. 이 구현은 여러 UMD 간에 공유될 수도 있고 그렇지 않을 수도 있다.
- 주로 GLSL을 수집하고 기계어를 출력하는 컴파일러로 구성된다. 파서는 여러 UMD 간에 공유되거나 특정될 수 있다.
메사의 목표 중 하나는 각 GPU에서 실행될 코드를 최적화하는 것이며, 다른 하나는 코드 공유이다.
SPIR-V는 특정 버전의 표준 이식 가능 중간 표현이다. 그래픽 애플리케이션이 GLSL 대신 SPIR-V를 출력하여 서로 다른 드라이버 구현의 GLSL 컴파일러 프런트엔드 간의 구현 차이를 피한다. 이는 바이너리 형태를 취하며, 애플리케이션 호환성 문제 및 버그의 주요 원인이 되어 왔다. SPIR-V 바이너리는 일반적으로 몇 가지 일반적인 최적화를 거친다. SPIR-V의 바이너리 표현은 어느 정도의 난독화를 제공하여 일부 소프트웨어 공급업체에게 지적 재산 보호 형태로 어필할 수 있다. 그러나 SPIR-V는 리플렉션을 위한 충분한 정보를 포함하고 있으며, [https://github.com/KhronosGroup/SPIRV-Cross SPIR-V를 고품질의 사람이 읽을 수 있는 고급 코드로 다시 변환하는 도구]가 존재한다. UMD는 지원되는 하드웨어에 특정한 최적화만 적용하면 된다.
NIR (New Internal Representation)는 TGSI의 제한 사항을 극복하기 위해 도입되었다.[148][149] NIR는 SPIR-V 지원의 기반으로 최근 및 현재 릴리스에서 확장되었으며 2016년부터 주요 개발 분야가 되었다. LLVMpipe, i965, RadeonSI, Nouveau, freedreno, vc4는 TGSI에서 NIR로 변경되었다. RADV, Zink 및 기타 새로운 드라이버는 NIR로 시작한다. OpenGL 4.6을 지원하는 모든 드라이버는 SPIR-V 지원을 통해 NIR과 관련되어 있다. AMD r600은 HD5000 및 HD6000 시리즈를 더 잘 지원하기 위해 NIR을 사용한 포크를 가지고 있으며, Mesa 21.0부터 기본값으로 설정되었다.
텅스텐 그래픽스 셰이더 인프라(TGSI)는 2008년 텅스텐 그래픽스에 의해 도입되었다. 모든 Gallium3D 스타일 UMD는 TGSI를 사용한다. 현재 NIR이 주요 개발 분야이므로 TGSI는 r300g 기본 인프라와 같은 구형 드라이버에만 사용되며 몇 년 안에 사용 중단될 예정이다.
GLSL-To-TGSI 코드는 Mesa 22.2에서 삭제될 예정이다. 기본값은 모든 네이티브 NIR 드라이버에 대해 GLSL-to-NIR을 사용하는 최신 NIR-to-TGSI이다. 일부 구형 TGSI 드라이버는 이 NIR 코드 경로를 사용하여 지원된다. 나중에 NIR-To-TGSI는 네이티브 NIR 드라이버에 대해서만 사용 중단될 예정이다.[150]
UMD `radeonsi` 및 `llvmpipe`는 기계어를 출력하지 않고 대신 LLVM IR을 출력한다. 여기서부터 LLVM은 최적화와 기계어 컴파일을 수행한다. 따라서 LLVM의 특정 최소 버전이 설치되어야 한다. RADV ACO는 NIR에 가까운 자체 IR을 사용하여, Radeon GPU(GCN 1+, GFX6+로도 알려짐)에서 Vulkan SPIR-V 셰이더를 최적화하고 최종 바이너리 코드를 생성한다. ACO는 Mesa 20.1.0 기준으로 RADV(Vulkan 드라이버)에서만 사용되며, RadeonSI에서는 아직 사용되지 않는다. Mesa의 GLSL 컴파일러는 자체 IR을 생성하며, 각 드라이버는 LIR(Low-level IR)에 대해 매우 다른 요구 사항을 가지고 있기 때문에 HIR(High-level IR)과 LIR(Low-level IR)을 구분한다.
4. 1. Gallium3D
Gallium3D는 여러 운영 체제, 렌더링 또는 비디오 가속 API용 3D 그래픽스 칩셋용 장치 드라이버의 프로그래밍을 용이하게 하기 위한 인터페이스 집합 및 지원 라이브러리 모음[152]이다. 자유 오픈 소스 그래픽 장치 드라이버 소프트웨어이다.Gallium3D의 개발은 2008년 텅스텐 그래픽스(Tungsten Graphics)에서 시작되었으며,[153] 구현은 freedesktop.org에서 호스팅하는 Mesa 3D의 일부로 자유 오픈 소스 소프트웨어로 제공된다. 주요 목표는 드라이버 개발을 쉽게하고, 여러 드라이버의 중복된 코드를 단일 지점으로 묶고, 최신 하드웨어 아키텍처를 지원하는 것이다. 이는 메모리 관리를 커널 DRI 드라이버에 맡기는 등, 작업 분담을 개선함으로써 수행된다.
Gallium3D는 2009년부터 Mesa의 일부였으며[154] 현재 Nvidia의 자유 오픈 소스 그래픽 드라이버(nouveau 프로젝트),[155][156] AMD의 R300–R900용,[157][158][159] 인텔의 8세대 이상 iGPU용 'Iris' 드라이버[160] 및 기타 자유 오픈 소스 GPU 장치 드라이버에 사용되고 있다.
갈륨3D는 그래픽 장치 드라이버를 세 부분으로 나누어 장치 드라이버 프로그래밍을 용이하게 한다. 이는 ''갈륨3D 상태 추적기 인터페이스''와 ''갈륨3D WinSys 인터페이스''라는 두 개의 인터페이스를 도입하여 구현된다. 세 가지 구성 요소는 다음과 같다.
- 갈륨3D 상태 추적기: 장치 드라이버가 처리하는 각 그래픽 API는 자체 상태 추적기를 갖는다. 예를 들어 OpenGL용 갈륨3D 상태 추적기와 Direct3D 또는 GLX용 상태 추적기가 있다. 각 상태 추적기는 갈륨3D 상태 추적기 인터페이스를 구현하며 고유하다. 이는 모든 기존 갈륨3D 장치 드라이버에서 공유됨을 의미한다.
- 갈륨3D 하드웨어 장치 드라이버: 기본 3D 그래픽 가속기에 특정한 실제 코드이지만, 갈륨3D WinSys 인터페이스가 허용하는 범위 내에서만 해당된다. 사용 가능한 각 그래픽 칩에 대해 고유한 갈륨3D 하드웨어 장치 드라이버가 있으며, 각 드라이버는 갈륨3D 상태 추적기 인터페이스와 갈륨3D WinSys 인터페이스를 모두 구현한다. 갈륨3D 하드웨어 장치 드라이버는 셰이더를 설명하기 위한 중간 언어인 TGSI(Tungsten Graphics Shader Infrastructure)만 이해한다. 이 코드는 GLSL에서 TGSI로, 다시 GPU에서 구현된 명령어 집합으로 변환되는 셰이더를 변환한다.
- 갈륨3D WinSys: 기본 커널의 운영 체제에 특화되어 있으며, 각 WinSys는 사용 가능한 모든 갈륨3D 하드웨어 장치 드라이버와 인터페이스하기 위해 갈륨3D WinSys 인터페이스를 구현한다.
Gallium3D는 현대 하드웨어에서 발견되는 셰이더 유닛과 같은 표준 하드웨어 기능을 노출하는 통합 API를 제공한다. 따라서 OpenGL 1.x/2.x, OpenGL 3.x, OpenVG, GPGPU 인프라 또는 심지어 Direct3D (와인 호환 계층에서 발견됨)와 같은 3D API는 Gallium3D API를 대상으로 하는 상태 추적기라는 단일 백엔드만 필요로 한다. 대조적으로, 고전적인 스타일의 DRI 장치 드라이버는 각 하드웨어 플랫폼에 대해 서로 다른 백엔드가 필요하며, 여러 API는 코드 중복으로 인해 OpenGL로 변환해야 한다.[161][162][163] 모든 공급업체 장치 드라이버는 독점적이고 폐쇄적인 특성으로 인해 이러한 방식으로 작성되었다. 예를 들어 AMD 카탈리스트는 OpenGL과 Direct3D를 모두 구현하고, 지포스의 공급업체 드라이버는 자체 구현을 가지고 있다.
Gallium3D에서 Direct Rendering Manager (DRM) 커널 드라이버는 메모리를 관리하고 Direct Rendering Interface (DRI2) 드라이버는 GPU 처리에 더 중점을 둔다.[164] 사용자 공간 모드 설정에서 커널 공간 모드 설정으로 전환되는 동안, 라데온 드라이버나 인텔 드라이버와 같은 일부 Mesa 3D 드라이버는 DRI1과 DRI2를 모두 지원하게 되었고 시스템에서 DRI2를 사용할 수 있는 경우 DRI2를 사용했다. Gallium3D는 ATi r100-r200과 같은 구형 카드에서는 사용할 수 없는 수준의 셰이더 지원을 필요로 하므로, 해당 카드의 사용자는 3D 사용을 위해 DRI2와 함께 Mesa 3D를 계속 사용해야 한다.
Tungsten Graphics Shader Infrastructure (TGSI)는 LLVM 중간 표현 또는 새로운 표준 이식 가능 중간 표현 (SPIR)과 같은 중간 표현이며, Vulkan API 및 OpenCL 2.1에서 사용된다. OpenGL 셰이딩 언어로 작성된 셰이더는 TGSI로 변환/컴파일된 다음 최적화되고, TGSI 셰이더는 사용된 GPU의 명령 집합에 맞는 셰이더로 컴파일된다.
NIR은 완전한 SPIR-V 지원을 갖춘 Mesa의 새로운 레이어 표현이며, 2019년부터 OpenGL 4.6 지원을 포함하는 모든 최신 드라이버의 주요 개발 영역이다.
또한 Gallium3D의 모듈식 구조를 사용하여, LLVM 컴파일러 스위트를 활용하여 런타임에 셰이더 코드를 최적화하는 모듈을 만들려는 노력이 진행 중이다.[165]
이 라이브러리는 각 셰이더 프로그램을 TGSI(Tungsten Graphics Shader Infrastructure)라는 확장 가능한 바이너리 중간 표현으로 나타내며, LLVM은 이를 대상 하드웨어에 최적화된 GLSL 셰이더로 변환한다.
다수의 자유-오픈 소스 그래픽스 장치 드라이버들은 클린룸 설계 기반의 역 엔지니어링을 통해 얻은 정보를 바탕으로 작성되었거나 작성 중이며, Gallium3D가 제공하는 드라이버 모델을 채택했다. 예를 들어 nouveau 및 기타 드라이버가 있다(''전체 목록은 자유-오픈 소스 그래픽 장치 드라이버 참조'').
Gallium3D의 최초 개발자는 텅스텐 그래픽스(2008년 VMware에 인수)의 키스 윗웰과 브라이언 폴이었다.[166]
4. 2. Direct Rendering Infrastructure (DRI)
펜스는 일종의 메모리 배리어로, 하나의 버퍼를 나머지 메모리로부터 분리한다. 펜스는 버퍼가 렌더링 및 디스플레이 작업이 완료되기 전에 덮어쓰여지지 않도록 보장한다. 암시적 펜싱은 그래픽 드라이버와 GPU 하드웨어 간의 동기화에 사용된다. 펜스는 한 구성 요소에서 더 이상 버퍼를 사용하지 않아 다른 구성 요소에서 작동하거나 재사용할 수 있을 때 신호를 보낸다. 과거에는 리눅스 커널에 암시적 펜싱 메커니즘이 있었는데, 여기서 펜스는 버퍼에 직접 연결되었지만 (GEM 핸들 및 FD 참조), 사용자 공간은 이를 인식하지 못했다. 명시적 펜싱은 펜스를 사용자 공간에 노출하며, 사용자 공간은 직접 렌더링 관리자(DRM) 하위 시스템과 GPU에서 펜스를 얻는다. 명시적 펜싱은 Vulkan에서 필요하며 추적 및 디버깅에 유리하다.리눅스 커널 4.9는 안드로이드의 동기화 프레임워크를 메인라인에 추가했다.
일반 버퍼 관리(GBM)는 Mesa에 연결된 그래픽 렌더링을 위해 버퍼를 할당하는 메커니즘을 제공하는 API이다. GBM은 DRM 또는 openwfd에서 EGL의 네이티브 플랫폼으로 사용될 예정이다. GBM이 생성한 핸들은 EGL을 초기화하고 렌더 대상 버퍼를 생성하는 데 사용될 수 있다.[116]
Mesa GBM은 그래픽 드라이버별 버퍼 관리 API(예: 다양한 libdrm_* 라이브러리)의 추상화이며, Mesa GPU 드라이버를 호출하여 내부적으로 구현된다.
예를 들어, Wayland 콤포지터인 Weston은 OpenGL ES 2를 사용하여 렌더링하며, 이는 EGL을 호출하여 초기화한다. 서버가 "베어 KMS 드라이버"에서 실행되므로 EGL DRM 플랫폼을 사용하며, 이는 Mesa GBM 인터페이스에 의존하므로 실제로 GBM 플랫폼이라고 할 수 있다.
XDC2014에서 엔비디아 직원인 Andy Ritger는 GBM을 대체하기 위해 EGL을 개선하는 것을 제안했다.[117] 이는 커뮤니티에서 긍정적으로 받아들여지지 않았고, Nvidia는 결국 입장을 바꾸어[118] 다른 접근 방식을 취했다.
4. 3. 소프트웨어 렌더러
메사에는 그래픽 하드웨어 가속기가 없을 때 셰이더를 CPU에서 폴백으로 실행할 수 있도록 하는 `swrast`라는 소프트웨어 렌더링 구현이 포함되어 있다. Gallium 소프트웨어 래스터라이저는 `softpipe`로 알려져 있으며, LLVM 지원으로 빌드된 경우 런타임에 CPU 코드를 생성하는 `llvmpipe`로 알려져 있다.[133][134] Mesa 10.x 이후로 Softpipe(10.3) 및 LLVMpipe(10.2)에서 OpenGL 3.3+가 지원된다. 실제로 Mesa 17.3에서는 OpenGL 4.x 기능의 약 80%가 구현되었다.Mesa 12.0에서는 대규모 데이터 세트를 위한 클러스터에서 높은 장점을 가진 새로운 인텔 래스터라이저 OpenSWR을 사용할 수 있다. 이 래스터라이저는 게임이나 미술 이미지보다 엔지니어링 시각화에 더 중점을 두고 있으며 x86 프로세서에서만 작동할 수 있다.[135] 한편, OpenGL 3.1+가 현재 지원된다.[136] LLVMPIPE와 관련된 29에서 51 사이의 가속 값은 일부 예에서 측정되었다.[137] OpenGL 3.3+는 Mesa 17.1부터 OpenSWR에서 지원된다.
VirGL은 2015년부터 Mesa 11.1에 구현된 가상 머신용 래스터라이저로, OpenGL 3.3을 지원하며 Mesa 18부터 Mesamatrix에 표시되었다. Mesa 18.2에서는 OpenGL 4.3 및 OpenGL ES 3.2를 지원하여 다른 것보다 더 많은 기능을 지원한다. OpenGL 4.4 및 4.5 기능의 약 80%도 현재 준비되어 있다. Vulkan 개발은 GSOC 2018 프로젝트로 시작한다.[138][139][140][107][141][142][143]
Mesamatrix의 실제 virGL 상태는 일부 필요한 리눅스 소프트웨어를 사용하여 OpenGL 4.6+ 및 OpenGL ES 3.2+를 완벽하게 지원한다.[144]
D3d12는 Direct3D 12를 사용하여 OpenGL 3.3+ 및 OpenCL 1.2+를 WSL2에서 에뮬레이션하기 위한 마이크로소프트의 프로젝트이다. D3D12는 21.0에 병합되었다.[42] Mesa 23.1의 실제 상태는 OpenGL 4.2+이며, 거의 4.4+ 및 OpenGL ES 3.1+이다.
Venus는 구글에서 개발한 가상 머신의 GPU를 위한 새로운 Vulkan VirtIO GPU 드라이버이다. Venus는 21.1에 병합되었으며 21.2에 공개되었다.[49] Venus는 Mesa 23.1에서 Vulkan 1.3+를 지원한다. 하드웨어 최소 요구 사항은 일부 확장을 포함하는 Vulkan 1.1이다.[145]
5. 구현된 렌더링 API
Mesa는 그래픽 API의 구현을 담고 있으며, 역사적으로 주요 API는 OpenGL이었다. 다른 Khronos Group 관련 사양(예: OpenVG, OpenGL ES, EGL)도 함께 구현했다. Mesa는 Direct3D 9 등 다른 API도 구현할 수 있다.[4] Mesa는 OpenGL과 같은 그래픽 API와 운영 체제 커널의 그래픽 하드웨어 드라이버 간의 변환 계층을 구현한다.
Mesa는 현재 OpenGL 적합성 상태를 보여주는 지원 매트릭스를 유지 관리한다.[5][6] Mesa 10은 Intel, AMD/ATI 및 Nvidia GPU 하드웨어에 대해 OpenGL 3.3을 준수한다. Mesa 11은 일부 드라이버가 OpenGL 4.1을 준수한다고 발표되었다.[7]
다음은 Mesa 버전별 구현된 렌더링 API 지원 현황을 나타낸 표이다.
Mesa 버전 | 최초 출시일 | 최신 업데이트[65] | Vulkan | OpenCL | OpenGL | OpenGL ES | OpenVG | EGL | GLX | Direct3D |
---|---|---|---|---|---|---|---|---|---|---|
1.3.264 2023-09-08 | 3.0 2020-11-30 | 4.6 2017-07-31 | 3.2.6 2019-07-10 | 1.1 2008-12-03 | 1.5 2014-03-19 | 1.4 2005-12-16 | 12 2015-07-29 | |||
2023-05-10 | 23.1.8[66] | 1.3.244: 1.3+ (인텔 Gen8+ ~ XE, AMD GCN Gen2+ ~ RDNA3, Lavapipe, Google Venus), 1.1+ (퀄컴 Turnip), 1.0+ (AMD GCN1, Broadcom v3dv, ARM Mali PanVK) | 1.0, 1.1, 1.2 (완전 지원), 3.0 (개발 중, 일부 기능은 21.1에 있음),[38] OpenCL 1.2+ 및 3.0 (새로운 RustiCL 포함) AMD GCN 및 인텔 Xe용 (Mesa 22.3+), AMD R600, Nvidia Fermi+ (Mesa 23.1+) | 4.6 (19.3: 인텔 Gen 8+, 20.0: AMD GCN, 21.1: Zink, llvmpipe, 21.2: 인텔 Gen 7.5) | 3.2 (20.3: 인텔 i965, AMD radeonsi, llvmpipe, VirGL, freedreno, Zink (21.3); 3.1: AMD r600, Nvidia nvC0, softpipe, Broadcom v3d, ARM Panfrost (21.3), d3d12 (22.0) | 1.1[67][68] | 1.5 | 1.4 | 9.0c[69][70] | |
2023-02-23 | 23.0.4[71] | 1.3.232: 대부분 23.1과 같음 | ||||||||
2022-11-30 | 22.3.7[72] | 22.3: 1.3.225: 1.3+ (인텔 Gen8+, AMD GCN Gen2+, Lavapipe), 1.2+ (Google Venus), 1.1+ (퀄컴 Turnip, Lavapipe (22.2)), 1.0+ (AMD GCN1, Broadcom v3dv, ARM Mali PanVK) | ||||||||
2022-09-21 | 22.2.5[73] | |||||||||
2022-05-20 | 22.1.7[74] | |||||||||
2022-03-09 | 22.0.5[75] | |||||||||
2021-11-17 | 21.3.9[76] | 21.3: 1.2.190 (인텔 Gen8+, AMD GCN Gen2+, Google Venus (21.3), Lavapipe), 1.0+ (AMD GCN1, Broadcom v3dv), 1.1+ (퀄컴 Turnip, Lavapipe (21.1)) | ||||||||
2021-08-04 | 21.2.6[77] | |||||||||
2021-05-05 | 21.1.8[78] | |||||||||
2021-03-11 | 21.0.3[79] | |||||||||
2020-12-03 | 20.3.5[80] | 20.3: 1.2.158 (인텔 Gen8+, AMD GCN Gen2+), 1.0+ (AMD GCN1, Broadcom v3dv (20.3)) | ||||||||
2020-09-28 | 20.2.6[81] | 1.0, 1.1, 1.2 (개발 중) 일부 적합성 테스트 실패 | ||||||||
2020-05-27 | 20.1.10[32] | |||||||||
2020-02-19 | 20.0.8[82] | 1.2+ (인텔 Gen8+, AMD GCN Gen2+) | ||||||||
2019-12-11 | 19.3.5[83][84] | 1.1+ (인텔 Gen8+, AMD GCN Gen2+) (19.1: 1.1.104 19.0: 1.1.102, 18.3: 1.1.90, 18.2: 1.1.84) | ||||||||
2019-09-25 | 19.2.8 | 4.5 | ||||||||
2019-06-11 | 19.1.8 | |||||||||
2019-03-13 | 19.0.8 | |||||||||
2018-12-07 | 18.3.6 | |||||||||
2018-09-07 | 18.2.8[22] | |||||||||
2018-05-18 | 18.1.9[85] | 1.1 (인텔 Gen8+, AMD GCN Gen2+)(1.1.73) | ||||||||
2018-03-27 | 18.0.5 | 1.0+ (1.0.66) | ||||||||
2017-12-08 | 17.3.9 | 1.0 (PC: ANV 인텔 Gen7+ 아이비 브릿지, RADV AMD GCN만 해당) (헤더: 17.3: 1.0.63, 17.2: 1.0.54, 17.1: 1.0.42, 17.0: 1.0.38, 13.0: 1.0.6, 12.0: 1.0.3) | Gallium에 의해 개발 중 Compute (Clover): 일부 CTS-테스트 실패 1.0 및 1.1, 1.2 (개발 중), 따라서 1.0, 1.1, 1.2 불완전[86][87] | |||||||
2017-09-04 | 17.2.8 | |||||||||
2017-05-10 | 17.1.10 | |||||||||
17.0.7 | ||||||||||
2016-11-01[90] | 13.0.6 | 4.4 (4.5 테스트 레이블 없음) | ||||||||
2016-07-08[91] | 12.0.6 | 4.3[91] | 3.1 | |||||||
2016-04-04[92] | 11.2.2 | rowspan="19" | 4.1 (인텔 3.3+) | |||||||
2015-12-15[93] | 11.1.4 | 3.0 | ||||||||
2015-09-12[94] | 11.0.9 | |||||||||
2015-06-15[95] | 10.6.9 | 3.3[96] | 1.4 | |||||||
2015-03-06[97] | 10.5.9 | 1.1 | ||||||||
2014-12-14[98] | 10.4.7 | |||||||||
2014-09-19[99] | 10.3.7 | rowspan="13" | ||||||||
2014-06-06[100] | 10.2.9 | |||||||||
2014-03-04[101] | 10.1.6 | |||||||||
2013-11-30[102] | 10.0.5 | |||||||||
2012-10-08 | 9.0.3, 9.1.7, 9.2.5 | 3.1 | 2.0 | |||||||
2012-02-08 | 8.0.5 | 3.0 | ||||||||
2007-06-22 | 7.0.4, ..., 7.11.2 | 2.1 | ||||||||
2004-01-06 | 6.0.1 | 1.5 | 1.3 | |||||||
2002-11-13 | 5.0.2 | 1.4 | ||||||||
2001-10-22 | 4.0.4 | 1.3 | ||||||||
1998-09 | 3.1, 3.2.1, 3.4.2.1 | 1.2 | ||||||||
1996-10 | 2.6 | 1.1 | ||||||||
1995-02 | 1.2.8 | 1.0 | ||||||||
colspan=11 | |
크로노스 그룹(Khronos Group)은 2016년 2월 16일에 Vulkan 1.0을 공식 출시했다. Vulkan은 OpenGL과의 호환성을 깨고, 모놀리식 상태 머신 개념을 완전히 버렸다. Gallium3D 개발자들은 Vulkan을 Gallium3D 2.0과 비슷한 것으로 불렀다.[103]
Vulkan은 표준 휴대용 중간 표현(Standard Portable Intermediate Representation) 버전 "V"를 의미하는 SPIR-V를 사용한다.
인텔은 Mesa 12.0에 Vulkan 드라이버 구현을 포함시켰다.[104] AMD는 자체 독점 Vulkan 드라이버를 출시했으며, 향후 오픈 소스 소프트웨어로 Mesa에 포함될 것으로 예상된다.[105] RADV는 AMD를 위한 무료 프로젝트이며 버전 17.3에서 Khronos-Test와의 호환성이 이루어졌다. Mesa 18.1부터 Vulkan 1.0 및 1.1을 완벽하게 지원한다.
Mesa 소프트웨어 드라이버 VIRGL은 2018년에 Vulkan 개발을 시작했다.[107] Lavapipe는 CPU 기반 소프트웨어 Vulkan 드라이버이며 Mesa 버전 21.1은 Vulkan 1.1+를 지원한다.[108] 구글은 Mesa 21.1에서 가상 머신용 Venus Vulkan 드라이버를 도입하여 Vulkan 1.2+를 완벽하게 지원한다.[49]
Qualcomm Turnip과 Broadcom v3dv는 새로운 드라이버이다. V3dv는 Mesa 20.3부터 Vulkan 1.0+를 지원하며, 버전 21.1에서 Turnip은 Vulkan 1.1+를 지원한다.[109][110][111] ARM Mali용 Panfrost PanVK는 Vulkan 1.1을 향해 나아가고 있지만, Mesa 22.0에서는 1.0만 안정적으로 사용 가능하다.[112]
Project Dozen은 Windows 10 및 11의 WSL2를 위해 Direct3D 12(d3d12)를 Vulkan과 연결하고 있다. Mesa 23.2에서 Vulkan 1.0은 완전히 호환되며 1.1 및 1.2의 80%를 지원한다.[113][114]
참조
[1]
뉴스
VMware's year end acquisition of Tungsten Graphics
http://www.infoworld[...]
InfoWorld
2008-12-16
[2]
웹사이트
Improve OpenGL support for the Linux Graphics Drivers - Mesa
https://www.indiegog[...]
2013-12-11
[3]
웹사이트
AMD exploring new Linux driver Strategy
https://www.phoronix[...]
2014-03-22
[4]
웹사이트
Direct3D 9 Support Released For Linux Via Gallium3D, Running Games - Phoronix
https://www.phoronix[...]
2018-08-01
[5]
웹사이트
mesa/mesa - The Mesa 3D Graphics Library
https://cgit.freedes[...]
2016-11-02
[6]
웹사이트
The OpenGL vs Mesa matrix
https://mesamatrix.n[...]
2015-03-25
[7]
웹사이트
Mesa 11.0 Has Been Branched, The Release March Begins
http://phoronix.com/[...]
2015-08-22
[8]
웹사이트
mesa/mesa - The Mesa 3D Graphics Library
https://cgit.freedes[...]
2018-08-01
[9]
웹사이트
The Big Changes, Improvements of Mesa 17.0 - Phoronix
http://www.phoronix.[...]
2018-08-01
[10]
웹사이트
mesa/mesa - The Mesa 3D Graphics Library
https://cgit.freedes[...]
2018-08-01
[11]
웹사이트
Program
https://www.x.org/wi[...]
2016-01-01
[12]
웹사이트
mesa/mesa - The Mesa 3D Graphics Library
https://cgit.freedes[...]
2018-08-01
[13]
웹사이트
A Look at the Huge Performance Boosts With Nouveau Mesa 17.0-devel on Maxwell - Phoronix
http://www.phoronix.[...]
2018-08-01
[14]
웹사이트
Khronos Open-Sources OpenGL / OpenGL ES Conformance Tests - Phoronix
http://www.phoronix.[...]
2018-08-01
[15]
웹사이트
The Grand Features of Mesa 17.1: Vega, RadeonSI Shader Cache, Maturing Vulkan, New OpenGL Extensions - Phoronix
http://www.phoronix.[...]
2018-08-01
[16]
웹사이트
Mesa Release Notes
https://www.mesa3d.o[...]
2018-08-01
[17]
웹사이트
The OpenGL vs Mesa matrix
https://mesamatrix.n[...]
2016-07-31
[18]
웹사이트
Event listing
https://www.x.org/wi[...]
[19]
웹사이트
Mesa 17.3 Features - Vulkan Updates, Better Performance - Phoronix
https://www.phoronix[...]
2018-08-01
[20]
웹사이트
Release calendar
https://www.mesa3d.o[...]
2018-08-01
[21]
웹사이트
Mesa 18.0 Features Include Many OpenGL/Vulkan Improvements, Intel Shader Cache & Extras - Phoronix
https://www.phoronix[...]
2018-08-01
[22]
웹사이트
Mesa 18.2 Is Releasing Soon With Many OpenGL / Vulkan Driver Improvements - Phoronix
https://www.phoronix[...]
[23]
웹사이트
The Shiny New Features of Mesa 18.3 For Open-Source Intel / Radeon Graphics Drivers - Phoronix
https://www.phoronix[...]
[24]
웹사이트
Mesa Made Massive Progress In 2018 On Open-Source Vulkan / OpenGL Drivers - Phoronix
https://www.phoronix[...]
[25]
웹사이트
The New Features on Deck for Mesa 19.0: Vulkan Additions, FreeSync, Soft FP64 & More - Phoronix
https://www.phoronix[...]
[26]
웹사이트
Mesa 18.2 vs. 18.3 vs. 19.0 January Benchmarks for RadeonSI/RADV - Phoronix
https://www.phoronix[...]
[27]
웹사이트
Running the RadeonSI NIR Back-End with Mesa 19.1 Git - Phoronix
https://www.phoronix[...]
[28]
웹사이트
Intel's Iris Gallium3D Driver Now Has Better OpenGL Compatibility Profile Support - Phoronix
https://www.phoronix[...]
[29]
웹사이트
Mesa 19.3 is Introducing a Lot of Open-Source OpenGL + Vulkan Driver Improvements - Phoronix
https://www.phoronix[...]
[30]
웹사이트
Mesa 20.0-rc1 Released with Intel Gallium3D Default, OpenGL 4.6 for RadeonSI, Vulkan 1.2 - Phoronix
https://www.phoronix[...]
[31]
웹사이트
Mesa 20.0 Released with Big Improvements for Intel, AMD Radeon Vulkan/OpenGL - Phoronix
https://www.phoronix[...]
[32]
웹사이트
Mesa 20.1 Features Include Big Improvements for Open-Source Intel, Radeon Graphics Drivers - Phoronix
https://www.phoronix[...]
[33]
웹사이트
Zink is Now OpenGL 3.0 Complete for Generic GL over Vulkan - Phoronix
https://www.phoronix[...]
[34]
웹사이트
Mesa 20.2 Development Ends After Many New Features Land - Phoronix
https://www.phoronix[...]
[35]
웹사이트
Mesa 20.2's Nouveau Enables HMM, OpenCL SVM Now Supported - Phoronix
https://www.phoronix[...]
[36]
웹사이트
Mesa's Vulkan Software Implementation Now Known as Lavapipe
https://www.phoronix[...]
[37]
웹사이트
V3DV Developers Lay Out Plans for Upstreaming the Raspberry Pi 4 Vulkan Driver in Mesa - Phoronix
https://www.phoronix[...]
[38]
웹사이트
OpenCL 1.2 Support Merged for Mesa's Gallium3D Clover While OpenCL 3.0 is Being Tackled - Phoronix
https://www.phoronix[...]
[39]
웹사이트
Zink in Mesa 20.3 Now Hits OpenGL 3.3, Can Run Blender with This OpenGL-on-Vulkan - Phoronix
https://www.phoronix[...]
[40]
웹사이트
OpenGL 4.5 Now Enabled for LLVMpipe with Mesa 20.3, to be Back-Ported for 20.2 - Phoronix
https://www.phoronix[...]
[41]
웹사이트
VALLIUM Merged into Mesa 20.3 as Vulkan Front-End to Gallium3D
https://www.phoronix[...]
[42]
웹사이트
Mesa 21.0 Merges Direct3D 12 Gallium3D Driver - Phoronix
https://www.phoronix[...]
[43]
PDF
XDC - Mesa for Mapping Layers
https://xdc2020.x.or[...]
2022-03-01
[44]
웹사이트
Microsoft + Collabora Working to Map OpenGL/OpenCL over DirectX 12 - Phoronix
https://www.phoronix[...]
[45]
웹사이트
Mesa Now 2~5x Faster for SPECViewPerf Following OpenGL Optimizations - Phoronix
https://www.phoronix[...]
[46]
웹사이트
Mesa 21.0 Has Many New Features Especially for Radeon Open-Source Graphics - Phoronix
https://www.phoronix[...]
[47]
웹사이트
Mesa 21.1-rc1 Released with RADV Optimizations, Faster Zink, Many Other New Features - Phoronix
https://www.phoronix[...]
[48]
웹사이트
Mesa%2021.1 - Phoronix
https://www.phoronix[...]
[49]
웹사이트
Google's VirtIO-GPU "Venus" Vulkan Driver Merged into Mesa 21.1 - Phoronix
https://www.phoronix[...]
[50]
웹사이트
Mesa 21.2 Released with New Intel Crocus Driver, PanVK, Early M1 Code - Phoronix
https://www.phoronix[...]
[51]
웹사이트
Proposal Raised for Dropping Mesa's Classic OpenGL Drivers from Mainline This Year - Phoronix
https://www.phoronix[...]
[52]
웹사이트
Crocus Gallium3D Nears Mainline Mesa for Gallium3D i965 Through Haswell Graphics - Phoronix
https://www.phoronix[...]
[53]
웹사이트
Amber Branch — the Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[54]
웹사이트
Mesa 22.0-rc1 Released with Many Radeon & Intel Linux GPU Driver Features, Vulkan 1.3
https://www.phoronix[...]
[55]
웹사이트
Mesa's "Dozen" Close to Providing Vulkan over Direct3D 12
https://www.phoronix[...]
[56]
웹사이트
Mesa's Rusticl Achieves Official OpenCL 3.0 Conformance
https://www.phoronix[...]
[57]
웹사이트
Mesa's Rusticl OpenCL Implementation Can Outperform Radeon's ROCm Compute Stack
https://www.phoronix[...]
[58]
웹사이트
Mesa 23.0 Feature Development Ends with Many Vulkan Additions
https://www.phoronix[...]
[59]
웹사이트
Mesa 23.0 Released with Many Changes for Open-Source Radeon & Intel Graphics Drivers
https://www.phoronix[...]
[60]
웹사이트
Microsoft's DZN Mesa Driver Already Hits Vulkan 1.2
https://www.phoronix[...]
[61]
웹사이트
Mesa 23.1 Released with RadeonSI Rusticl-OpenCL, RADV GPL
https://www.phoronix[...]
[62]
웹사이트
Mesa 23.2 Virgl Lands Support for OpenGL 4.6 Inside Virtual Machines
https://www.phoronix[...]
[63]
웹사이트
Mesa 23.2 Receives Asahi AGX Gallium3D Changes for OpenGL 3.1 + GLES 3.0
https://www.phoronix[...]
[64]
웹사이트
Microsoft Enables OpenGL 4.6 Support over Direct3D 12
https://www.phoronix[...]
[65]
웹사이트
Release Notes — the Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[66]
웹사이트
Mesa 23.1 Released - Phoronix
https://www.phoronix[...]
[67]
웹사이트
OpenVG Support Stripped From Gallium3D
https://www.phoronix[...]
2015-03-04
[68]
웹사이트
St/Vega: Remove. (3acd7a34) · Commits · Mesa / Mesa · GitLab
https://gitlab.freed[...]
2015-03-03
[69]
웹사이트
latest patches to "nine" state tracker
https://cgit.freedes[...]
2016-02-04
[70]
웹사이트
Mesa 10.4 Officially Released With Direct3D 9 State Tracker
https://www.phoronix[...]
2014-12-14
[71]
웹사이트
Mesa 23.0 Released - Phoronix
https://www.phoronix[...]
[72]
웹사이트
Mesa 22.3 Released - Phoronix
https://www.phoronix[...]
[73]
웹사이트
Mesa 22.2 Released - Phoronix
https://www.phoronix[...]
[74]
웹사이트
Mesa 22.1 Released - Phoronix
https://www.phoronix[...]
[75]
웹사이트
Mesa 22.0 Released - Phoronix
https://www.phoronix[...]
[76]
웹사이트
Mesa 21.3 Released - Phoronix
https://www.phoronix[...]
[77]
웹사이트
Mesa 21.2 Released with New Intel Crocus Driver, PanVK, Early M1 Code - Phoronix
https://www.phoronix[...]
[78]
웹사이트
Mesa 21.1 Released with RADV Variable Rate Shading, More Intel Vulkan Improvements - Phoronix
https://www.phoronix[...]
[79]
웹사이트
Mesa 21.0 Released with Numerous RADV Improvements, New Vulkan Extensions, Many Fixes - Phoronix
https://www.phoronix[...]
[80]
웹사이트
Mesa 20.3 Released with Big Improvements for Open-Source Graphics Drivers - Phoronix
https://www.phoronix[...]
[81]
웹사이트
Mesa 20.2.2 Released with a Random Assortment of Fixes - Phoronix
https://www.phoronix[...]
[82]
웹사이트
RadeonSI NIR Benchmarks Show Great Progress with Mesa 20.0 - Phoronix
https://www.phoronix[...]
[83]
웹사이트
Mesa 19.3-RC1 Released with OpenGL 4.6 for Intel, Many Vulkan Driver Improvements - Phoronix
https://www.phoronix[...]
[84]
웹사이트
Mesa 19.3 is Introducing a Lot of Open-Source OpenGL + Vulkan Driver Improvements - Phoronix
https://www.phoronix[...]
[85]
웹사이트
Mesa 18.0 Should Arrive Today With Many Vulkan/OpenGL Driver Improvements - Phoronix
https://www.phoronix[...]
2018-08-01
[86]
웹사이트
GalliumCompute
https://dri.freedesk[...]
2019-01-24
[87]
웹사이트
Clover Status Update
https://www.x.org/wi[...]
2020-03-27
[88]
웹사이트
'[Mesa-announce] mesa 17.0.0'
https://lists.freede[...]
2017-02-13
[89]
웹사이트
Mesa 17.0.0 Officially Released
http://www.phoronix.[...]
2017-02-13
[90]
웹사이트
'[Mesa-announce] mesa 13.0.0'
https://lists.freede[...]
2016-11-01
[91]
웹사이트
Mesa 12.0 Released With OpenGL 4.3 Support, Intel Vulkan & Many Other Features
https://www.phoronix[...]
2016-07-08
[92]
웹사이트
'[Mesa-announce] Mesa 11.2.0'
https://lists.freede[...]
2016-04-04
[93]
웹사이트
'[Mesa-announce] Mesa 11.1.0'
https://lists.freede[...]
2015-12-15
[94]
웹사이트
'[Mesa-announce] Mesa 11.0.0'
https://lists.freede[...]
2015-09-26
[95]
웹사이트
'[Mesa-announce] Mesa 10.6.0'
https://lists.freede[...]
2015-06-15
[96]
웹사이트
Features To Be Found in Mesa 10.0
https://www.phoronix[...]
2013-10-26
[97]
웹사이트
'[Mesa-announce] Mesa 10.5.0'
https://lists.freede[...]
2015-03-07
[98]
웹사이트
'[Mesa-announce] Mesa 10.4.0 released'
https://lists.freede[...]
2015-03-07
[99]
웹사이트
'[Mesa-announce] Mesa 10.3 released'
https://lists.freede[...]
2015-03-07
[100]
웹사이트
'[Mesa-announce] Mesa 10.2 released'
https://lists.freede[...]
2015-03-07
[101]
웹사이트
'[Mesa-announce] Mesa 10.1 released'
https://lists.freede[...]
2015-03-07
[102]
웹사이트
'[Mesa-announce] Mesa 10.0 released'
https://lists.freede[...]
2015-03-07
[103]
웹사이트
Vulkan 1.3 Released with Dynamic Rendering in Core, New Roadmap Guidance for Modern GPUs
https://www.phoronix[...]
[104]
웹사이트
Program
https://www.x.org/wi[...]
[105]
웹사이트
Radeon Vulkan Driver Added To Mesa, Fresh Radeon Vulkan vs. OpenGL Benchmarks + AMDGPU-PRO - Phoronix
http://www.phoronix.[...]
2018-08-01
[106]
웹사이트
RADV Radeon Vulkan Driver Submitted for Review to be Included in Mesa - Phoronix
https://web.archive.[...]
2016-11-03
[107]
웹사이트
Vulkan Virgl Has Kicked Off For Supporting This Graphics/Compute API Within VMs - Phoronix
https://www.phoronix[...]
[108]
웹사이트
Lavapipe CPU-Based Vulkan Ported to Windows - Phoronix
https://www.phoronix[...]
[109]
웹사이트
The Open-Source Qualcomm "TURNIP" Vulkan Driver Adds Important Performance Feature - Phoronix
https://www.phoronix[...]
[110]
웹사이트
TURNIP Vulkan Driver up and Running on Qualcomm's KGSL - Phoronix
https://www.phoronix[...]
[111]
웹사이트
Raspberry Pi 4 Vulkan Driver "V3DV" Merged into Mesa 20.3 - Phoronix
https://www.phoronix[...]
[112]
웹사이트
PanVK Pulls Back from Advertising Vulkan 1.1 for Now
https://www.phoronix[...]
[113]
웹사이트
Microsoft's "DZN" Mesa Code Achieving 99.75%+ Vulkan 1.0 Conformance
https://www.phoronix[...]
[114]
웹사이트
"Dozen" Merged into Mesa for Implementing Vulkan on Direct3D 12
https://www.phoronix[...]
[115]
웹사이트
Bringing Android explicit fencing to the mainline
https://lwn.net/Arti[...]
LWN.net
2016-10-05
[116]
웹사이트
libgbm in the Debian repositories
https://packages.deb[...]
[117]
웹사이트
Enabling Alternative Window Systems with a non-Mesa Graphics Driver Implementation
http://www.x.org/wik[...]
[118]
웹사이트
NVIDIA Wants Feedback On Its Device Memory Allocator Project
https://www.phoronix[...]
[119]
웹사이트
Nouveau Video Acceleration
https://nouveau.free[...]
[120]
웹사이트
Radeon Feature Matrix
http://xorg.freedesk[...]
[121]
웹사이트
Fedora Linux Disabling Mesa's H.264 / H.265 / VC1 VA-API Support Over Legal Concerns
https://www.phoronix[...]
2022-10-01
[122]
웹사이트
Diving into Mesa
https://blogs.igalia[...]
2016-05-19
[123]
웹사이트
Direct Rendering Infrastructure Status Page
https://dri.freedesk[...]
freedesktop.org
[124]
웹사이트
How to improve gaming performance on your Linux machine - APC
http://www.apcmag.co[...]
2018-08-01
[125]
웹사이트
Linux: Mesa, Gallium3D, Nouveau and NVIDIA Drivers, OpenGL Test (GTX 280, GTX 480, GTX 580) – Geeks3D
http://www.geeks3d.c[...]
2018-08-01
[126]
웹사이트
Nouveau Driver Remains Much Slower Than NVIDIA's Official Driver - Phoronix
https://www.phoronix[...]
2018-08-01
[127]
웹사이트
Intel/NVIDIA/AMD Compete on Open/Closed Source Linux GPU Driver Performance - Phoronix
https://www.phoronix[...]
2018-08-01
[128]
웹사이트
DRI2
https://archive.toda[...]
X.org
2012-01-25
[129]
웹사이트
DRI3 and Present [LWN.net]
https://lwn.net/Arti[...]
2018-08-01
[130]
웹사이트
'[PATCH 0/6] Add DRI3000 support to core and i965 drivers'
https://lists.freede[...]
Lists.freedesktop.org
2018-08-01
[131]
웹사이트
xorg-x11-drv-intel-2.99.917-19.20151206.fc23 (re)enabled dri3 by default - kde - Fedora Mailing-Lists
https://lists.fedora[...]
2016-12-03
[132]
웹사이트
Radeon-AMDGPU-1.19-Updates
http://www.phoronix.[...]
2016-12-03
[133]
웹사이트
LLVMpipe: OpenGL With Gallium3D on Your CPU
https://www.phoronix[...]
2014-11-04
[134]
웹사이트
llvmpipe
http://mesa3d.org/ll[...]
2015-06-08
[135]
웹사이트
OpenSWR
http://openswr.org
2018-08-01
[136]
웹사이트
Mesamatrix: The OpenGL vs Mesa matrix
https://mesamatrix.n[...]
2018-08-01
[137]
웹사이트
OpenSWR
http://openswr.org/p[...]
2018-08-01
[138]
웹사이트
Mesa (Master): Virgl: Add driver for virtio-gpu 3D (V2)
https://web.archive.[...]
2018-08-28
[139]
웹사이트
Tracking Mesa's VirGL OpenGL Features - Phoronix
https://www.phoronix[...]
[140]
웹사이트
Mesa's VirGL Now Has OpenGL 4.2 Support To Offer Guest VMs - Phoronix
https://www.phoronix[...]
[141]
웹사이트
The Current Performance of Virgl3D, Future Plans - Phoronix
https://www.phoronix[...]
[142]
웹사이트
What's new in the virtual world?
https://xdc2018.x.or[...]
2023-11-19
[143]
PDF
https://archive.fosd[...]
2022-03
[144]
웹사이트
VirGL — the Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[145]
웹사이트
Virtio-GPU Venus — the Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[146]
웹사이트
DRI megadrivers
http://www.x.org/wik[...]
2013-09-25
[147]
웹사이트
VDPAU & XvMC state trackers are now separate libraries
https://www.phoronix[...]
2014-06-23
[148]
웹사이트
Introduction — NIR 0.0.1 documentation
https://people.freed[...]
[149]
웹사이트
NIR: A new compiler IR for Mesa
http://www.jlekstran[...]
[150]
웹사이트
Mesa Prepares to Drop Old GLSL-To-TGSI - Big Code Removal, Win for Performance & Fixes
https://www.phoronix[...]
[151]
웹사이트
Build configuration file
https://cgit.freedes[...]
Gallium documentation
[152]
웹사이트
Gallium3D: Introduction
http://jrfonseca.blo[...]
2014-06-20
[153]
웹사이트
MESA3D.org: Introduction
http://www.mesa3d.or[...]
2016-10-28
[154]
웹사이트
Gallium3D Now in Mainline Mesa Code-Base!
https://www.phoronix[...]
Phoronix
2010-10-26
[155]
웹사이트
The state of Nouveau, part 2
https://lwn.net/Arti[...]
LWN.net
2008-03-07
[156]
웹사이트
Nouveau Companion 36
https://nouveau.free[...]
2008-04-01
[157]
웹사이트
ATI R300 Gallium3D DRI Support Is "Done"
https://www.phoronix[...]
Phoronix
2010-11-15
[158]
웹사이트
'Radeon "R600g" Gallium3D Driver Merged To [Mesa] Master'
https://www.phoronix[...]
Phoronix
2010-10-26
[159]
웹사이트
X.Org Wiki GalliumStatus
http://wiki.x.org/wi[...]
Xorg
2010-12-07
[160]
웹사이트
iris: Add a new experimental Gallium driver for Intel Gen8+ GPUs (!283) · Merge Requests · Mesa / mesa
https://gitlab.freed[...]
2019-09-21
[161]
웹사이트
TG-Gallium3D
http://www.tungsteng[...]
Tungsten Graphics
2008-04-01
[162]
웹사이트
GPGPU
http://zrusin.blogsp[...]
2008-04-01
[163]
웹사이트
OpenVG and accelerating 2D
http://zrusin.blogsp[...]
2008-04-01
[164]
웹사이트
DRI2
http://wiki.x.org/wi[...]
2008-04-01
[165]
웹사이트
Gallium3D LLVM
http://zrusin.blogsp[...]
2008-04-01
[166]
웹사이트
VMware's year end acquisition of Tungsten Graphics
http://www.infoworld[...]
InfoWorld
2008-12-16
[167]
웹사이트
Gallium
https://www.freedesk[...]
2012-08-24
[168]
웹사이트
Nouveau Companion 37
https://nouveau.free[...]
2008-04-01
[169]
웹사이트
nouveau: say goodbye to the old DRI driver... (cgit on FDO)
https://cgit.freedes[...]
2008-07-13
[170]
웹사이트
Gallium3D Now in Mainline Mesa Code-Base!
https://www.phoronix[...]
2009-02-11
[171]
웹사이트
Gallium3D, EGL Now Buildable on FreeBSD
https://www.phoronix[...]
Phoronix
2009-02-25
[172]
웹사이트
OpenVG state tracker is in Mesa 3D
http://sourceforge.n[...]
2009-05-01
[173]
웹사이트
Mesa 7.5 Release Notes / 17 July 2009
http://www.mesa3d.or[...]
2017-09-12
[174]
웹사이트
r600g: add initial evergreen support (cgit on FDO)
https://cgit.freedes[...]
2010-09-10
[175]
웹사이트
d3d1x: add new Direct3D 10/11 COM state tracker for Gallium
https://cgit.freedes[...]
2010-09-21
[176]
웹사이트
The Gallium3D Intel 965 Driver Gets Dropped
https://www.phoronix[...]
Phoronix
2011-11-30
[177]
웹사이트
The Gallium3D Cell Driver Gets Dropped Too
https://www.phoronix[...]
Phoronix
2011-11-30
[178]
웹사이트
nine: Add state tracker nine for Direct3D9 (v3)
https://cgit.freedes[...]
2014-11-18
[179]
웹사이트
Mesa 19.1 Released With Experimental Intel Gallium3D, Other New GL/VLK Drivers Too - Phoronix
https://www.phoronix[...]
2019-09-21
[180]
웹사이트
Mesa 23.1 Released with RadeonSI Rusticl-OpenCL, RADV GPL
https://www.phoronix[...]
[181]
웹사이트
Mesa 23.2 Feature Development Concludes with Numerous New Vulkan Extensions
https://www.phoronix[...]
[182]
웹사이트
Mesa Introduction
http://mesa3d.org/in[...]
2015-06-08
[183]
웹사이트
Project History
https://docs.mesa3d.[...]
2021-03-11
[184]
웹사이트
Introduction to the Direct Rendering Infrastructure
http://dri.sourcefor[...]
2000-08-10
[185]
웹사이트
What's the relationship between Glide and DRI?
https://dri.freedesk[...]
dri.freedesktop.org
2012-01-25
[186]
웹사이트
Admin Guide README
https://git.kernel.o[...]
[187]
웹사이트
Mesa 24.1.1 Release Notes / 2024-06-05 — The Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
2024-06-10
[188]
문서
Introduction — The Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[189]
문서
Home — The Mesa 3D Graphics Library
https://www.mesa3d.o[...]
[190]
문서
Platforms and Drivers — The Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[191]
문서
Conformance Testing — The Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[192]
문서
License and Copyright — The Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[193]
문서
D3D12 — The Mesa 3D Graphics Library latest documentation
https://docs.mesa3d.[...]
[194]
뉴스
Microsoft、ARM環境で「OpenCL」「OpenGL」アプリを動作させる互換機能パックを公開 - 窓の杜
https://forest.watch[...]
[195]
문서
Announcing the OpenCL™ and OpenGL® Compatibility Pack for Windows 10 on ARM - DirectX Developer Blog
https://devblogs.mic[...]
[196]
뉴스
VMware's year end acquisition of Tungsten Graphics
http://www.infoworld[...]
InfoWorld
2008-12-16
[197]
웹인용
Improve OpenGL support for the Linux Graphics Drivers - Mesa
https://www.indiegog[...]
2013-12-11
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com